package cn.changein.framework.base.database.dao.sql;

/**
 * 异构sql获取

 * @date: 2020-02-11
 * @copyright: 广州澄境科技有限公司
 */
public abstract class AbstractSql {
    /**
     * 获取异构sql
     * @param jdbcUrl
     * @return
     */
    public String getSql(String jdbcUrl) {
        if (jdbcUrl.contains("oracle")) {
            return oracle();
        } else if (jdbcUrl.contains("postgresql")) {
            return pgSql();
        } else if (jdbcUrl.contains("sqlserver")) {
            return sqlServer();
        } else {
            return mysql();
        }
    }

    protected abstract String mysql();

    protected abstract String sqlServer();

    protected abstract String pgSql();

    protected abstract String oracle();
}
